package com.xiaoq.ar.entity;

import com.xiaoq.MongoEntity;
import org.mongodb.morphia.annotations.Entity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by chenjh on 2018/3/5.
 */
@Entity(value="my_treasure", noClassnameStored=true)
public class MyTreasureEntity extends MongoEntity implements Serializable {

    /*** 用户ID */
    private String userId;
    /*** 活动提供者(一般指景区) */
    private String providerId;
    /*** 活动 */
    private String arActivityId;
    /*** 打卡记录 */
    private List<Punchs> punchsList;
    /*** 是否兑换 */
    private Boolean exchange;
    /*** 兑换时间 */
    private Long exchangeTime;

	/*** 区划省 */
	private String zoneProvince;
	/*** 区划市 */
	private String zoneCity;
	/*** 换分区 */
	private String zoneDistrict;
	/**
	 * 冗余字段 存名称 （省市级名称）
	 */
	private String zoneProvinceName;
	/**
	 * 冗余字段 存名称 （市级名称）
	 */
	private String zoneCityName;
	/**
	 * 冗余字段 存名称 （区县名称）
	 */
	private String zoneDistrictName;

	/*** 景区名称*/
	private String providerName;

	/*** 打卡经度 */
	private double longitude;

	/*** 打卡 纬度 */
	private double latitude;

	/*** 自拍图URL */
	private String photoUrl = "";

	/*** 藏宝点id (即在那个位置打的卡) */
	private String treasureSpotId;

	/*** 打卡时间 */
	private long punchTime;

	/*** 打卡点名称（可能是景区名称或景点名称） */
	private String punchName;

	/*** 照片拍摄时间 */
	private String takePhotoTime;

	/*** 上传的文件类型（video, img） */
	private String fileType;

	/*** 打卡点类型 （景区、景点、必吃、城市） */
	private String punchType;


	public String getUserId() {
		return userId;
	}
	public void setUserId(String userId) {
		this.userId = userId;
	}
	public String getProviderId() {
		return providerId;
	}
	public void setProviderId(String providerId) {
		this.providerId = providerId;
	}
	public String getArActivityId() {
		return arActivityId;
	}
	public void setArActivityId(String arActivityId) {
		this.arActivityId = arActivityId;
	}
	public List<Punchs> getPunchsList() {
		return punchsList;
	}
	public void setPunchsList(List<Punchs> punchsList) {
		this.punchsList = punchsList;
	}
	public Boolean getExchange() {
		return exchange;
	}
	public void setExchange(Boolean exchange) {
		this.exchange = exchange;
	}
	public Long getExchangeTime() {
		return exchangeTime;
	}
	public void setExchangeTime(Long exchangeTime) {
		this.exchangeTime = exchangeTime;
	}

	public String getZoneProvince() {
		return zoneProvince;
	}

	public void setZoneProvince(String zoneProvince) {
		this.zoneProvince = zoneProvince;
	}

	public String getZoneCity() {
		return zoneCity;
	}

	public void setZoneCity(String zoneCity) {
		this.zoneCity = zoneCity;
	}

	public String getZoneDistrict() {
		return zoneDistrict;
	}

	public void setZoneDistrict(String zoneDistrict) {
		this.zoneDistrict = zoneDistrict;
	}

	public String getZoneProvinceName() {
		return zoneProvinceName;
	}

	public void setZoneProvinceName(String zoneProvinceName) {
		this.zoneProvinceName = zoneProvinceName;
	}

	public String getZoneCityName() {
		return zoneCityName;
	}

	public void setZoneCityName(String zoneCityName) {
		this.zoneCityName = zoneCityName;
	}

	public String getZoneDistrictName() {
		return zoneDistrictName;
	}

	public String getProviderName() {
		return providerName;
	}

	public void setProviderName(String providerName) {
		this.providerName = providerName;
	}

	public void setZoneDistrictName(String zoneDistrictName) {
		this.zoneDistrictName = zoneDistrictName;
	}

	public double getLongitude() {
		return longitude;
	}

	public void setLongitude(double longitude) {
		this.longitude = longitude;
	}

	public double getLatitude() {
		return latitude;
	}

	public void setLatitude(double latitude) {
		this.latitude = latitude;
	}

	public String getPhotoUrl() {
		return photoUrl;
	}

	public void setPhotoUrl(String photoUrl) {
		this.photoUrl = photoUrl;
	}

	public String getTreasureSpotId() {
		return treasureSpotId;
	}

	public void setTreasureSpotId(String treasureSpotId) {
		this.treasureSpotId = treasureSpotId;
	}

	public long getPunchTime() {
		return punchTime;
	}

	public void setPunchTime(long punchTime) {
		this.punchTime = punchTime;
	}

	public String getPunchName() {
		return punchName;
	}

	public void setPunchName(String punchName) {
		this.punchName = punchName;
	}

	public String getTakePhotoTime() {
		return takePhotoTime;
	}

	public void setTakePhotoTime(String takePhotoTime) {
		this.takePhotoTime = takePhotoTime;
	}

	public String getFileType() {
		return fileType;
	}

	public void setFileType(String fileType) {
		this.fileType = fileType;
	}

	public String getPunchType() {
		return punchType;
	}

	public void setPunchType(String punchType) {
		this.punchType = punchType;
	}
}
